The present invention relates to programming of speech enabled applications. More particularly, the present invention relates to combining use of a stepwise voice markup language and object oriented speech application extensions.
Advances in computer user/interfaces have allowed users to interact with a computer through voice commands. Voice portals such as through the use of VoiceXML (Voice Extensible Markup Language) have been advanced to allow internet content to be accessed using voice input. In this architecture, a document server (for example, a web server) processes requests from a client through a VoiceXML interpreter. The web server can produce VoiceXML documents and replies, which are processed by the VoiceXML interpreter and rendered audibly to the user. Using specified voice commands through voice recognition, the user can navigate the web and listen to data audibly rendered.
The VoiceXML development language has been designed in order to allow authors control over dialog between a user and a speech application. VoiceXML follows a stepwise method, where the application controls dialog flow and queries a user in order to fill in a form or make choices from a menu. A VoiceXML application performs a number of steps in order to render data to a user or fill in data in a form. More particularly, VoiceXML follows a form interpretation algorithm that drives interaction between a user and a VoiceXML form or menu. The algorithm continues to loop through the form or menu until values are filled, choices are made or an exception is encountered.
Speech enabled applications may also be developed through the use of a markup language extension such as Speech Application Language Tags (SALT). SALT enables multi-modal and telephony enabled access to information, applications and web services from personal computers, telephones, personal digital assistants and other computing devices. SALT-extends existing markup languages such as HTML, X-HTML and XML. Multi-modal access using SALT enables users to interact with an application in a variety of different ways, for example using a keyboard, speech, mouse and/or stylus or combinations thereof.
In contrast to VoiceXML, SALT is based on an object oriented programming approach, wherein applications are composed of various objects, triggers and events. The object oriented approach enables application authors to customize dialog flows between a user and an application. When an event is encountered in SALT, a SALT based application executes various commands based on the event. In this manner, a user can control dialog flow, which can be a more efficient and/or natural form of computer interaction.
Applications utilizing the stepwise approach of VoiceXML do not currently utilize the flexibility offered by the object oriented programming approach used by speech application tools such as SALT. As a result, VoiceXML applications have difficulty dealing with mixed-initiative situations (wherein the user may request data from several different categories), external messaging and enhanced call control. As a result, a system or method providing the programming flexibility of SALT in VoiceXML would be beneficial.